package org.example.journal_items.service;

import org.example.journal_items.Entity.Todo;
import org.example.journal_items.common.Result;

import java.util.Date;
import java.util.List;

public interface TodoService {
  List<Todo> getTodosByUserId(Long userId);

  List<Todo> getTodosByUserIdAndDueDate(Long userId, String dueDate);

  Todo getTodoById(Long id);

  Result<Todo> createTodo(Todo todo);

  Result<Todo> updateTodo(Todo todo);

  Result<Void> deleteTodo(Long id);

  Result<Todo> toggleTodoStatus(Long id, Boolean isCompleted);
}